bitkeeper revision 1.1159.1.315 (41857fdeXcTRTZARibSHQW4l1prQyw)
authormwilli2@anvil.research <mwilli2@anvil.research>
Mon, 1 Nov 2004 00:14:22 +0000 (00:14 +0000)
committermwilli2@anvil.research <mwilli2@anvil.research>
Mon, 1 Nov 2004 00:14:22 +0000 (00:14 +0000)
Minor tweaks to xm dmesg.

BitKeeper/etc/logging_ok
tools/python/xen/xend/server/SrvDmesg.py
tools/python/xen/xm/main.py

index 9f847bcf91b6acd1eaa5f231ea8e8bb3df579ab4..70a50800de9db489a408e25e4f8dc9f5c4c4c861 100644 (file)
@@ -35,6 +35,7 @@ mafetter@fleming.research
 mark@maw48.kings.cam.ac.uk
 maw48@labyrinth.cl.cam.ac.uk
 mjw@wray-m-3.hpl.hp.com
+mwilli2@anvil.research
 mwilli2@equilibrium.research
 mwilli2@equilibrium.research.intel-research.net
 rac61@labyrinth.cl.cam.ac.uk
index 96a392484f483e72e8a57675659752b84585bd06..11fa4547c24a15fc1ee70d345079ce9d7f314e2b 100644 (file)
@@ -36,5 +36,6 @@ class SrvDmesg(SrvDir):
     def info(self):
         return self.xd.info()
 
-    def op_clear(self):
+    def op_clear(self, op, req):
         self.xd.clear()
+        return 0
index 0b6e37966fcc90aed72302a9f86d1d162b265053..e7454e507af0912be7af0c743e517cfa48660c8e 100644 (file)
@@ -12,6 +12,7 @@ from xen.xend import sxp
 from xen.xend.XendClient import XendError, server
 from xen.xend.XendClient import main as xend_client_main
 from xen.xm import create, destroy, migrate, shutdown
+from xen.xm.opts import *
 
 class Group:
 
@@ -662,15 +663,34 @@ xm.prog(ProgCall)
 class ProgDmesg(Prog):
     group = 'host'
     name  =  "dmesg"
-    info  = """Print Xen boot output."""
+    info  = """Read or clear Xen's message buffer."""
+
+    gopts = Opts(use="""[-c|--clear]
+
+Read Xen's message buffer (boot output, warning and error messages) or clear
+its contents if the [-c|--clear] flag is specified.
+""")
+
+    gopts.opt('clear', short='c',
+              fn=set_true, default=0,
+              use="Clear the contents of the Xen message buffer.")
+
+    short_options = ['-c']
+    long_options = ['--clear']
+
+    def help(self, args):
+        self.gopts.argv = args
+        self.gopts.usage()
 
     def main(self, args):
-        if len(args) == 1:
-            print server.xend_node_dmesg(clear)
-        if len(args) > 1:
-            if len(args) == 2 and args[1] == '-c':
-                print server.xend_node_clear_dmesg()
-            else: self.err("%s: Invalid argument" % args[0])
+        self.gopts.parse(args)
+        if not (1 <= len(args) <=2):
+            self.gopts.err('Invalid arguments: ' + str(args))
+
+        if not self.gopts.vals.clear:
+            print server.xend_node_get_dmesg()
+        else:
+            server.xend_node_clear_dmesg()
 
 xm.prog(ProgDmesg)